package com.mutual.assistance.user.model.vo;

import com.mutual.assistance.annotation.Gender;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Email;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * @author chenyuxin
 * @version 1.0
 * @description 修改用户信息
 * @date 2023/4/25 17:55
 */
@ApiModel("修改用户信息")
@Data
public class UpdateUserParamsVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id标识")
    @NotBlank(message = "要修改的用户id不能为空")
    private String id;

    @ApiModelProperty(value = "用户昵称")
    @Length(max = 64, message = "用户昵称不能超过64位")
    private String nickname;

    @ApiModelProperty(value = "用户密码")
    private String password;

    @ApiModelProperty(value = "用户描述")
    private String description;

    @ApiModelProperty(value = "用户头像url")
    private String pic;

    @ApiModelProperty(value = "用户性别（1：男、0：女）")
    @Gender
    private String sex;

    @ApiModelProperty(value = "用户邮箱")
    @Email
    private String email;

    @ApiModelProperty(value = "qq")
    @Length(min = 6, max = 15)
    private String qq;

    @ApiModelProperty(value = "用户电话")
    @Length(min = 9, max = 11)
    private String cellphone;

    @ApiModelProperty(value = "用户积分")
    private Integer credit;

    @ApiModelProperty(value = "用户星级")
    @Max(value = 5, message = "用户星级不能超过5")
    private Integer star;

    @ApiModelProperty(value = "用户状态")
    private String status;

}
